package com.itheima.domain;

import java.util.ArrayList;

/*
    定义测试类，完成以下需求:
		定义 public static ArrayList<Car> filter(ArrayList<Car> list,double price,int mile){}方法
		实现遍历ArrayList集合，将集合中价格低于参数price，并且续航不低于参数mile的元素，存入到另一个集合中中并返回
		main方法中实例化三个汽车对象，"奔驰",780000,450、"宝马",450000,500、"奥迪",380000,400
    	将三个对象添加到ArrayList集合中
   	 	调用filter()方法传入参数list_car、500000和400，根据返回的list集合打印所有元素信息
 */
public class CarTist {
    public static void main(String[] args) {
        //实例化对象
        Car c1 = new Car("奔驰", 780000, 450);
        Car c2 = new Car("宝马", 450000, 500);
        Car c3 = new Car("奥迪", 380000, 400);

        //创建集合添加元素
        ArrayList<Car> car_list = new ArrayList<>();
        car_list.add(c1);
        car_list.add(c2);
        car_list.add(c3);

        //调用方法
        ArrayList<Car> list = filter(car_list, 500000, 400);

        //根据返回的list集合打印所有元素信息
        for (int i = 0; i < list.size(); i++) {
            System.out.println(list.get(i));
        }

    }

    //定义方法
    public static ArrayList<Car> filter(ArrayList<Car> list, double price, int mile) {
        //创建新集合
        ArrayList<Car> newList = new ArrayList<>();
        //遍历ArrayList集合
        for (int i = 0; i < list.size(); i++) {
            //获取当前对象
            Car c = list.get(i);
            //将集合中价格低于参数price，并且续航不低于参数mile的元素
            if (c.getPrice() < price && c.getMile() >= mile) {
                newList.add(c);
            }
        }
        //返回新集合
        return newList;
    }
}
